package com.love.marriage.offlineServiceProvider.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.love.marriage.common.vo.BaseVo;
import com.love.marriage.config.Long2StringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * description:  线下服务商表Vo
 * author:       alex
 * createDate:   2024-12-08 12:08:27
 * version:      1.0.0
 */
@Getter
@Setter
@Accessors(chain = true)
@Schema(name = "OfflineServiceProviderVo", description = "线下服务商表Vo")
public class OfflineServiceProviderVo extends BaseVo<OfflineServiceProviderVo>{

    @JsonSerialize(using = Long2StringSerializer.class)
    @Schema(description = "用户ID，关联用户表", type = "Long", implementation = Long.class)
    private Long userId;

    @Schema(description = "联系方式", type = "String", implementation = String.class)
    private String contactInfo;

    @Schema(description = "姓名", type = "String", implementation = String.class)
    private String name;

    @Schema(description = "手机号", type = "String", implementation = String.class)
    private String phoneNumber;

    @Schema(description = "需求描述", type = "String", implementation = String.class)
    private String demandDescription;

    @Schema(description = "省id", type = "Integer", implementation = Integer.class)
    private Integer provinceId;

    @Schema(description = "省名称", type = "String", implementation = String.class)
    private String provinceName;

    @Schema(description = "城市id", type = "Integer", implementation = Integer.class)
    private Integer cityId;

    @Schema(description = "城市名称", type = "String", implementation = String.class)
    private String cityName;

    @Schema(description = "区id", type = "Integer", implementation = Integer.class)
    private Integer districtId;

    @Schema(description = "区名称", type = "String", implementation = String.class)
    private String districtName;

    @Schema(description = "居住所在地", type = "String", implementation = String.class)
    private String residence;

    @Schema(description = "类型（emotion: 情感商学院,partner:合伙人）", type = "String", implementation = String.class)
    private String type;

    @Schema(description = "合伙人类型（first: 初级(团长),second:中级(运营中心),third:高级(分公司)）", type = "String", implementation = String.class)
    private String partnerType;

    @Schema(description = "合伙人类型名称", type = "String", implementation = String.class)
    private String partnerTypeName;

    @Schema(description = "开始时间", type = "LocalDateTime", implementation = LocalDateTime.class)
    private LocalDateTime startTime;

    @Schema(description = "结束时间", type = "LocalDateTime", implementation = LocalDateTime.class)
    private LocalDateTime endTime;

    @Schema(description = "是否有效状态", type = "Boolean", implementation = Boolean.class)
    private Boolean statusFlag;

    @Schema(description = "单身标识", type = "Boolean", implementation = Boolean.class)
    private Boolean singleFlag;

    @Schema(description = "编码", type = "String", implementation = String.class)
    private String code;

    @Schema(description = "状态", type = "Integer", implementation = Integer.class)
    private Integer status;

    @Schema(description = "关键字", type = "String", implementation = String.class)
    private String keyword;
}
